Interlacing is a well known technique that captures two consecutive fields in succession at a rate twice a normal frame rate. One of such consecutive fields contains only odd lines and the other contains only even lines of a whole frame. In other words, interlacing provides half-resolution fields at twice the normal frame.
Progressive display devices display all lines of a frame at every refresh. In order for progressive display devices to display interlaced content, de-interlacing capability must be added to assist progressive display devices. In theory, de-interlacing would be as simple as combining two consecutive interlaced fields into a single frame, which is generally known as weaving in the art. However, interlaced fields are captured at different points in time and thus weaving could cause picture quality problem leading to visual defects when motions exist in the picture. Such a picture quality problem is called an interlace artifact. Blending is another technique that averages consecutive fields to be displayed as one frame. Likewise, blending also causes a de-interlacing artifact called ghosting, where picture quality as well as the temporal resolution, i.e. motion, loses, albeit to a lesser degree as compared to weaving.
Motion Adaptive De-interlace (MAD) is designed to overcome interlace artifacts. MAD techniques typically enhance picture qualities by incorporating weaving, blending and frame extension methods, such as the “bob” as generally known in the art. Specifically, MAD predicts direction and amount of image motion between successive sub-fields to blend the sub-fields together. As a result, MAD creates good picture quality for progressive display.
Various applications based on MAD are well known in the art. The existing MAD applications work based on differences of the pixels over a window of sum of the medians of temporal or spatial pixels in a window to get the relative motion across the pixels. Most of these applications estimate the differences or standard deviations on the progressive frames, i.e. previous interpolated frames, to detect the motion movement and hence results in a minimum latency of one frame to compute the interpolated pixels. They require storage of progressive frames, which double the size of the interlaced field, and have computational delay to interpolate the pixels for at least one progressive frame.
However, unnecessary latency resulting from traditional MAD techniques may have negative impact on user experience. For example, addition of a de-interlacing feature to support the high definition quality picture on progressive displays in existing integrated circuit chips requires additional hardware added to the video data path; as a result, loss of synchronization between audio and video can take place. Also, in the case of video gaming applications, additional de-interlacing hardware on the video data path could add significant observable delay between the user commands and video response such that the user gaming experience is degraded.
Moreover, memory organization techniques associated with traditional MAD typically use one frame buffer to store the final interpolated frame and three field buffers to store three past fields. Under such an approach, for example when the pixels are captured in 4:4:4 format, the frame buffer has to be stored in 4:4:4 AYCrCb8888 format. Accordingly, to store the 720×480 size image, the traditional memory organization techniques take memory storage of 720×480×32-bits i.e. 1382400 bytes. This memory storage cannot be optimized because the downstream computing engine expects to receive the pixel data in AYCrCb8888 format. In cases where some of traditional MAD techniques perform 422 to 444 conversions on the fly during the interpolation, 720×240×16 bit i.e. 345600 bytes, of memory storage are required to store 720×240 YCbCr422, and therefore 4 fields of such require memory storage of 1382400 bytes. The traditional MAD techniques also typically organizes intermediate pixel data in a linear mode, such that each field of pixel data are continuously stored in a different field buffer. Under such an approach, accessing pixel data in consecutive fields for a position associated with the frame being interpolated requires multiple memory access to different field buffers within the storage buffer.
Therefore, there is a need for a solution to maintain de-interlacing latency and memory accessing of intermediate pixel data for interpolation at a minimum level to improve the traditional MAD techniques.